{ "cells": [ { "cell_type": "markdown", "id": "9e965baa", "metadata": {}, "source": [ "# Imputation for humanskin data" ] }, { "cell_type": "markdown", "id": "ccd9ef0d", "metadata": {}, "source": [ "## loading package" ] }, { "cell_type": "code", "execution_count": 5, "id": "d8a4bcc3", "metadata": {}, "outputs": [], "source": [ "import scanpy as sc\n", "import torch as th\n", "import torch.nn as nn\n", "from matplotlib import rcParams\n", "from SpaMIE.create_graph import Sagegraph\n", "from SpaMIE.spamie_main import Sagewrapper\n", "config = {\n", " \"font.family\":'Times New Roman', \n", " \"font.size\":20, \n", " \"axes.unicode_minus\": False \n", "}\n", "rcParams.update(config)" ] }, { "cell_type": "markdown", "id": "25a7576a", "metadata": {}, "source": [ "## Imputation" ] }, { "cell_type": "code", "execution_count": 3, "id": "5fb13fc9", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/data/xiangdw/MODEL/SpaMIE/spamie_net.py:98: UserWarning: Implicit dimension choice for softmax has been deprecated. Change the call to include dim=X as an argument.\n", " self.alpha = F.softmax(torch.squeeze(self.vu) + 1e-6)\n" ] } ], "source": [ "device = th.device('cuda:0' if th.cuda.is_available() else 'cpu')\n", "file_fold = '/data/xiangdw/data/data/'\n", "a = []\n", "layers_nums = 3\n", "for i in range(1):\n", " seeds = i+1\n", " adata_omics1 = sc.read_h5ad(file_fold + 'adata_RNA_humanskin.h5ad')\n", " adata_omics2 = sc.read_h5ad(file_fold + 'adata_ADT_humanskin.h5ad')\n", "\n", " modalities = [adata_omics1, adata_omics2]\n", " g_spatial_omics1, g_feature_omics1, adata_omics1, adata_omics2 = Sagegraph(modalities, device, datatype='Stereo-CITE-seq', batch=False)\n", " output_dir = '/data/xiangdw/data/pred result/'\n", " weight = [0,0,2]\n", "\n", " pred_name = 'humanskin_SpaMIE_'+str(layers_nums)+'_pred.csv'\n", " true_name = 'humanskin_SpaMIE_'+str(layers_nums)+'_truth.csv'\n", "\n", " in_feat = adata_omics1.obsm['feat'].shape[1]\n", " out_feat = adata_omics2.X.shape[1]\n", "\n", " model = Sagewrapper(seed=(int(seeds)), device=device, in_feat=in_feat, n_hidden=256, out_feat=out_feat, task='prediction', datatype='Stereo-CITE-seq',\n", " layers_nums=int(layers_nums), weight=weight, epoch=700, res_type='res_add', activation=nn.LeakyReLU\n", " , sagetype='mean', lr=4e-4, lr2 = 0.001)\n", "\n", " adata_omics1_pred, adata_omics2_pred, test_idx, train_idx,wt,alph = model.fit( adata_omics1, adata_omics2, g_spatial_omics1, g_feature_omics1, \n", " output_dir=output_dir, pred_name=pred_name, \n", " true_name=true_name, weight=True, save_csv=False)\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.18" } }, "nbformat": 4, "nbformat_minor": 5 }